class LogType:
    LOG = "LOG"
    UPDATE = "UPDATE"
    COST = "COST"
    RESULT = "RESULT"
    SINGLE_STEP = "SINGLE_STEP_MESSAGE"


class LogLevel:
    ERROR = "ERROR"
    WARN = "WARN"
    INFO = "INFO"
    DEBUG = "DEBUG"


class ToolKey:
    TOOL_INSTANCE_ID = "tool_instance_id"


class Env:
    TOOL_CONTAINER_NETWORK = "TOOL_CONTAINER_NETWORK"
    TOOL_CONTAINER_LABELS = "TOOL_CONTAINER_LABELS"
    PRIVATE_REGISTRY_CREDENTIAL_PATH = "PRIVATE_REGISTRY_CREDENTIAL_PATH"
    PRIVATE_REGISTRY_USERNAME = "PRIVATE_REGISTRY_USERNAME"
    PRIVATE_REGISTRY_URL = "PRIVATE_REGISTRY_URL"
    LOG_LEVEL = "LOG_LEVEL"
    REMOVE_CONTAINER_ON_EXIT = "REMOVE_CONTAINER_ON_EXIT"
    WORKFLOW_EXECUTION_DIR_PREFIX = "WORKFLOW_EXECUTION_DIR_PREFIX"
    WORKFLOW_EXECUTION_FILE_STORAGE_CREDENTIALS = (
        "WORKFLOW_EXECUTION_FILE_STORAGE_CREDENTIALS"
    )
    EXECUTION_DATA_DIR = "EXECUTION_DATA_DIR"
    FLIPT_SERVICE_AVAILABLE = "FLIPT_SERVICE_AVAILABLE"
    TOOL_SIDECAR_ENABLED = "TOOL_SIDECAR_ENABLED"
    TOOL_SIDECAR_IMAGE_NAME = "TOOL_SIDECAR_IMAGE_NAME"
    TOOL_SIDECAR_CONTAINER_WAIT_TIMEOUT = "TOOL_SIDECAR_CONTAINER_WAIT_TIMEOUT"
    TOOL_SIDECAR_IMAGE_TAG = "TOOL_SIDECAR_IMAGE_TAG"
    REDIS_HOST = "REDIS_HOST"
    REDIS_PORT = "REDIS_PORT"
    REDIS_USER = "REDIS_USER"
    REDIS_PASSWORD = "REDIS_PASSWORD"
    CELERY_BROKER_BASE_URL = "CELERY_BROKER_BASE_URL"
    CELERY_BROKER_USER = "CELERY_BROKER_USER"
    CELERY_BROKER_PASS = "CELERY_BROKER_PASS"
